package untiring07;

public class J01_Fundmentals {

	// 유니코드 unicode
	//	 전통적으로 영어권 나라들은 알파벳을 
	//	 표기하기위해 ASCII 문자 집합을 사용
	// ASCII 문자 집합에서 각 문자는 7 비트를 
	//	 사용하고 총 128개의 문자를 나타낼 수 있음

	//	 유럽권 문자 표기를 위해 확장 ASCII 문자 집합 사용
	//	 추가적으로 256개의 문자를  정의( 총 256문자)
	
	// 하지만, 모든 국가들이 라틴 문자를 사용하지 않음 
	// 동양 문화권에 속한 나라들은 다른 문자집합을 사용함
	// 게다가 8비트로 수 천개의 문자를 나타내기에는 무리가 있음
	 
	//	 한국 문자집합 
	//	 EUC-KR 은 8비트 한글 완성형 문자 인코딩
	//	 ISO-2022-KR 이라고도 불림
	//	 사용빈도가 높은 2350자만을 채택
	
	//	 기존의 부족했던 완성형 한글을 보완하기 위해 
	//	 윈도 95부터 CP949(MS949) 라는 문자 인코딩을 
	//	 확장 완성형이라는 명칭으로 도입
	//	 KS C 5601-1987 라고 불리기도 함
	//	 현대의 모든 한글을 수용하게 됨 (8822자 추가)
	
	// 유니코드unicode는 유니코드 컨소시움이라는 비영리 단체에 의해 개발된 문자집합
	//	 전 세계 언어의 문자를 하나의 문자 집합에 포함하려 함 
	//	 유니코드에 있는 고유 번호로 정확히 한 문자를 표시
	
	//	 UTF-8
	//	 바이트 가변길이 인코딩으로 유니코드 문자를 나타냄
	//	 즉, 영어는 1바이트, 한글은 3바이트를 이용함
	//	 대부분의 브라우저도 UTF-8 인코딩을 지원함
	
	
	    public static void main(String[] args) {
		//변수 선언 및 값 할당
		//[자료형][변수명] = [리터럴];
		short birthyear = 1982;
		short birth_year = 1982;
		float pi =  3.14F;
		//실수 리터럴을 의미하는 접미사는
		// 대문자로 표기하는 것이 가독성이 좋음
        long jumin =  19820720120856L;	    
        //	정수 리터럴(l)을 의미하는 접미사는
        // 대문자로 표기하는것이 가독성이 좋음
		
        char _1st_name = '김', _2nd_name ='선',  _3rd_name = '민', grade = '수';

		boolean isMale = true, isMarried = false;
		//동일한 자료형을 가지는 변수는 ,를 이용해서 다중 변수 선언이 가능
		//	하지만, 가독성이 떨어지기 때문에 비추!
		
		char code1 = '\uC790';      //유니코드
		char code2 = '\uBC14';
		char symbol1 = '\u263A';
		char symbol2 = '\u2639';
		
		
		//변수 값 출력
		// 자바 표준 풀력문 system.out.println() 사용
		// system.out.println(변수명);
		System.out.println(birthyear); 
		System.out.println(birth_year); 
		System.out.println(pi ); 
		System.out.println(jumin ); 
		System.out.println(_1st_name); 
		System.out.println(_2nd_name); 
		System.out.println(_3rd_name); 
		System.out.println(grade); 
		System.out.println(isMale); 
		System.out.println(isMarried); 
		System.out.println(code1); 
		System.out.println(code2); 
		System.out.println(symbol1); 
		System.out.println(symbol2); 
	}

}
